Previous Book Contents Book Index Next

Inside Macintosh: 3D Graphics Programming With QuickDraw 3D /
Chapter 14 - Shader Objects


Summary of Shader Objects

C Summary

Constants

typedef enum TQ3ShaderUVBoundary {
   kQ3ShaderUVBoundaryWrap,
   kQ3ShaderUVBoundaryClamp
} TQ3ShaderUVBoundary;
#define kQ3ShaderTypeSurface           Q3_OBJECT_TYPE('s','u','s','h')
#define kQ3ShaderTypeIllumination      Q3_OBJECT_TYPE('i','l','s','h')
#define kQ3SurfaceShaderTypeTexture    Q3_OBJECT_TYPE('t','x','s','u')
#define kQ3IlluminationTypeLambert     Q3_OBJECT_TYPE('l','m','i','l')
#define kQ3IlluminationTypePhong       Q3_OBJECT_TYPE('p','h','i','l')
#define kQ3IlluminationTypeNULL        Q3_OBJECT_TYPE('n','u','l','l')
#define kQ3TextureTypePixmap           Q3_OBJECT_TYPE('t','x','p','m')

Shader Objects Routines

Managing Shaders

TQ3ObjectType Q3Shader_GetType(TQ3ShaderObject shader);
TQ3Status Q3Shader_Submit(TQ3ShaderObject shader, TQ3ViewObject view);

Managing Shader Characteristics

TQ3Status Q3Shader_GetUVTransform (
TQ3ShaderObject shader, 
TQ3Matrix3x3 *uvTransform);
TQ3Status Q3Shader_SetUVTransform (
TQ3ShaderObject shader, 
const TQ3Matrix3x3 *uvTransform);
TQ3Status Q3Shader_GetUBoundary (
TQ3ShaderObject shader, 
TQ3ShaderUVBoundary *uBoundary);
TQ3Status Q3Shader_SetUBoundary (
TQ3ShaderObject shader, 
TQ3ShaderUVBoundary uBoundary);
TQ3Status Q3Shader_GetVBoundary (
TQ3ShaderObject shader, 
TQ3ShaderUVBoundary *vBoundary);
TQ3Status Q3Shader_SetVBoundary (
TQ3ShaderObject shader, 
TQ3ShaderUVBoundary vBoundary);

Managing Texture Shaders

TQ3ShaderObject Q3TextureShader_New (
TQ3TextureObject texture);
TQ3Status Q3TextureShader_GetTexture (
TQ3ShaderObject shader, 
TQ3TextureObject *texture);
TQ3Status Q3TextureShader_SetTexture (
TQ3ShaderObject shader, 
TQ3TextureObject texture);

Managing Illumination Shaders

TQ3ShaderObject Q3LambertIllumination_New (
void);
TQ3ShaderObject Q3PhongIllumination_New (
void);
TQ3ShaderObject Q3NULLIllumination_New (
void);
TQ3ObjectType Q3IlluminationShader_GetType (
TQ3ShaderObject shader);

Managing Textures

TQ3ObjectType Q3Texture_GetType (
TQ3TextureObject texture);
TQ3Status Q3Texture_GetWidth(TQ3TextureObject texture, 
unsigned long *width);
TQ3Status Q3Texture_GetHeight(TQ3TextureObject texture, 
unsigned long *height);

Managing Pixmap Textures

TQ3TextureObject Q3PixmapTexture_New (
const TQ3StoragePixmap *pixmap);
TQ3Status Q3PixmapTexture_GetPixmap (
TQ3TextureObject texture, 
TQ3StoragePixmap *pixmap);
TQ3Status Q3PixmapTexture_SetPixmap (
TQ3TextureObject texture, 
const TQ3StoragePixmap *pixmap);


Previous Book Contents Book Index Next

© Apple Computer, Inc.
11 JUL 1996